package com.tx.admin.charartertag.service;

import com.mybatisflex.core.service.IService;
import com.tx.admin.charartertag.pojo.po.ChararterTag;
import com.tx.admin.tagrelate.pojo.dto.TagRelateListDTO;
import com.tx.admin.tagrelate.pojo.vo.TagRelateVO;
import com.tx.core.common.entity.SelectIdsDTO;
import com.tx.core.common.entity.PageResult;
import java.util.List;
import com.tx.admin.charartertag.pojo.dto.ChararterTagCreateDTO;
import com.tx.admin.charartertag.pojo.dto.ChararterTagUpdateDTO;
import com.tx.admin.charartertag.pojo.dto.ChararterTagListDTO;
import com.tx.admin.charartertag.pojo.vo.ChararterTagVO;
import com.tx.core.common.entity.ImportExcelDTO;
import jakarta.servlet.http.HttpServletResponse;

/**
 * <p>
 * 人物标签表 Service
 * </p>
 *
 * @author sz-admin
 * @since 2025-05-04
 */
public interface ChararterTagService extends IService<ChararterTag> {

    void create(ChararterTagCreateDTO dto);

    void update(ChararterTagUpdateDTO dto);

    PageResult<ChararterTagVO> page(ChararterTagListDTO dto);

    List<ChararterTagVO> list(ChararterTagListDTO dto);

    void remove(SelectIdsDTO dto);

    ChararterTagVO detail(Object id);

    void importExcel(ImportExcelDTO dto);

    void exportExcel(ChararterTagListDTO dto, HttpServletResponse response);

    List<TagRelateVO> detailTagList(TagRelateListDTO dto);

    void    batchSaveRelative(List<TagRelateVO> dto);

    List<ChararterTagVO.TagEnum> remoteSearch(String keyword);
}